"use strict";
console.log(d); // undefined
{
  var d = 'd'
}

// console.log(fn); // 严格模式下报错: Uncaught ReferenceError: fn is not defined; 非严格模式下 为undefined
{
  function fn(){} /** 严格模式下函数声明只在块级作用域内有效, 非严格模式下,函数虽然在块级作用域外也有效,但不再变量提升了*/

  /** 推论 function声明的变量应该在词法环境里*/
}
console.log(fn); // 严格模式下报错: Uncaught ReferenceError: fn is not defined; 非严格模式下 为 [Function: fn]
